package com.chang.soul.dao;

import com.chang.soul.bean.ArticleBean;
import com.chang.soul.bean.ArticleQueryForm;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public interface ArticleMapper {

    /**
     * 添加文章
     * @param articleBean
     * @return
     */
    public boolean insertArticle(ArticleBean articleBean);

    /**
     * 删除文章
     * @param id
     * @return
     */
    public boolean deleteArticleById(int id);

    /**
     * 更新文章
     * @param articleBean
     * @return
     */
    public boolean updateArticle(ArticleBean articleBean);

    /**
     * 查询所有文章
     */
    public List<ArticleBean> getAllArticleList (ArticleQueryForm articleQueryForm);

    /**
     * 根据文章分页情况查询数据量
     * @param articleQueryForm
     * @return
     */
    public int getCountByArticleList(ArticleQueryForm articleQueryForm);

    /**
     * 根据文章id 查询文章详情
     * @param id 文章id
     * @return
     */
    public ArticleBean getArticleById(int id);

    /***
     * 通过标题查找 文章
     * @param title
     * @return
     */
    public List<ArticleBean> getArticleByTitle(String title);

    /**
     * 通过作者姓名查询文章
     * @param author
     * @return
     */
    public List<ArticleBean> getArticleByAuthor(String author);

    /**
     * 分类查询文章
     * @param n
     * @return
     */
    public List<ArticleBean> getArticleByType(int n);

    /**
     * 获取文章数量
     * @return
     */
    public Integer getArticleCount();

}
